<template>
  <div>
    <HeaderReport title="综合得分专题"></HeaderReport>
    <div class="page__main bg-white">
      <div class="page__scroller">
        <div class="water-mark-wrap">
          <div class="title-bg">
            {{datePicker.showData}}综合得分专题
            <button type="button" class="title-bg__btn" @click="tipDialog.show = true"></button>
          </div>
          <!--日期-地域 选择框-->
          <van-sticky :offset-top="46">
            <div class="pd-aside bg-white" style="padding-top: 10px;">
              <div class="selects" style="margin-bottom: 0">
                <div class="selects__item" @click="chooseDate">
                  {{datePicker.showData}}
                </div>
                <div class="selects__item" @click="chooseCity('province')">
                  {{areaInfo.showArea}}
                </div>
                <div class="selects__item" @click="chooseCity('city')">
                  {{cityInfo.showArea}}
                </div>
              </div>
            </div>
          </van-sticky>
          <!--tab页签-->
          <van-tabs v-model="tabActiveName" class="init-tabs resolve-tabs" sticky :offset-top="89" @click="handleTabClick">
            <van-tab name="a" title="综合得分">
              <div class="box">
                <div class="case-title">
                  <span class="case-title__name">综合得分详情</span>
                </div>
                <div class="radar-title">
                  <span class="radar-title-left">{{avgDate}}全国平均得分：</span>
                  <span class="radar-title-right">{{avgScore}}</span>
                </div>
                <div style="height: 300px;">
                  <RadarChart :data="radarData"></RadarChart>
                </div>
                <div class="case-title2">
                  <span class="case-title2__name">综合得分排名</span>
                </div>
                <div style="height: auto;" v-show="!allRankData.showAll">
                  <TopRankList :data="topRankData" @childMsg="childClick"></TopRankList>
                </div>
                <div class="show-more" @click="showMoreRankClick" v-show="bottomRankData.show && areaType==0">
                  查看更多排名
                </div>
                <div style="height: auto;" v-show="bottomRankData.show">
                  <TopRankList :data="bottomRankData" @childMsg="childClick"></TopRankList>
                </div>
                <div class="show-more" @click="showMoreRankClick" v-show="bottomRankData.show&&(areaType==1||areaType==2)">
                  查看更多排名
                </div>
                <div style="height:auto;overflow: hidden" v-show="allRankData.showAll">
                  <RankList :data="allRankData" @childMsg="childClick"></RankList>
                  <van-loading size="24px" vertical v-show="allRankData.loading">数据加载中...</van-loading>
                </div>
              </div>
              <div class="footer-tip mgb-15">了解更多信息，请登录PC端运营数据展示系统</div>
            </van-tab>
            <van-tab name="b" title="分项考核指标">
              <div class="box">
                <div class="case-title">
                  <span class="case-title__name">分项考核指标详情</span>
                </div>
                <div class="kpi-card-main">
                  <div class="kpi-card" :class="changekpiCardClass(1,index)" v-for="(item, index) in kpiCardData.data" :key="index" @click="kpiCardClick(index)">
                    <div class="kpi-card-inner" :class="changekpiCardClass(2,index)">
                      <div class="kpi-card-inner2" :class="changekpiCardClass(3,index)">
                        <div class="kpi-card-inner-name">{{item.name}}</div>
                        <div class="kpi-card-inner-name">
                          <div class="kpi-card-inner-val kpi-card-inner-val-1" :class="changekpiCardClass(4,index)" style="width: 45%;">{{item.value}}<span style="padding-left: 5px">%</span></div>
                          <div class="kpi-card-inner-val" style="width: 25%;">
                            同
                            <span class="trend" :class="changeRankClass(item.tb)"></span>
                          </div>
                          <div class="kpi-card-inner-val" style="width: 25%;">
                            环
                            <span class="trend" :class="changeRankClass(item.hb)"></span>
                          </div>
                        </div>
                      </div>

                    </div>
                  </div>
                </div>
                <div class="case-title2">
                  <span class="case-title2__name"></span>
                  <!--<div class="selects" style="margin-bottom: 0">-->
                  <div class="selects__item selects__item2" @click="kpiSelectData.show = true" style="font-size: 15px;">
                    {{kpiSelectData.showArea}}
                  </div>
                  <!--</div>-->
                </div>
                <div style="height: 195px;" v-show="!allRankData.showAll">
                  <TopRankList :data="topRankData"></TopRankList>
                </div>
                <div class="show-more" @click="showMoreRankClick" v-show="bottomRankData.show">
                  查看更多排名
                </div>
                <div style="height: auto;" v-show="bottomRankData.show">
                  <TopRankList :data="bottomRankData"></TopRankList>
                </div>
                <div style="height:auto;overflow: hidden" v-show="allRankData.showAll">
                  <RankList :data="allRankData"></RankList>
                  <van-loading size="24px" vertical v-show="allRankData.loading">数据加载中...</van-loading>
                </div>

              </div>
            </van-tab>
          </van-tabs>
        </div>
      </div>
    </div>
    <van-popup
      v-model="datePicker.show"
      position="bottom"
      :style="{ height: '40%' }"
    >
      <van-datetime-picker
        v-model="datePicker.currentDate"
        type="year-month"
        :min-date="datePicker.minDate"
        :max-date="datePicker.maxDate"
        :formatter="formatter"
        @cancel="handleCanleDate"
        @confirm="handleConfirmDate"
      ></van-datetime-picker>
    </van-popup>
    <van-popup
      v-model="areaInfo.show"
      position="bottom"
      :style="{ height: '40%' }"
    >
      <van-picker
        show-toolbar
        :columns="areaInfo.columns"
        :defaultIndex='areaInfo.defaultIndex'
        @cancel="cancelFn('province')"
        @confirm="confirmFnProvince"
      ></van-picker>
    </van-popup>
    <van-popup
      v-model="cityInfo.show"
      position="bottom"
      :style="{ height: '40%' }"
    >
      <van-picker
        show-toolbar
        :columns="cityInfo.columns"
        :defaultIndex='cityInfo.defaultIndex'
        @cancel="cancelFn('city')"
        @confirm="confirmFnCity"
      ></van-picker>
    </van-popup>
    <van-popup
      v-model="kpiSelectData.show"
      position="bottom"
      :style="{ height: '40%' }"
    >
      <van-picker
        show-toolbar
        :columns="kpiSelectData.columns"
        :defaultIndex='kpiSelectData.defaultIndex'
        @cancel="kpiSelectData.show = false"
        @confirm="confirmFnKpiName"
      ></van-picker>
    </van-popup>
    <div class="tip-dialog" v-show="tipDialog.show">
      <div class="tip-dialog__main">
        <div class="tip-dialog__header">
          指标说明
          <button type="button" class="tip-dialog__close" @click="tipDialog.show = false"></button>
        </div>
        <div class="tip-dialog__body">
          <div class="tip-dialog__list">
            <div class="tip-dialog__item" v-for="(item, index) in tipDialog.list" :key="index">
              <div class="tip-dialog__item-title">{{item.title}}</div>
              <div class="tip-dialog__item-intro" v-show="item.intro != undefined">{{item.intro}}</div>
              <div class="tip-dialog__item-detail" v-show="item.detail != undefined">{{item.detail}}</div>
            </div>
          </div>
          <div class="footer-tip">了解更多信息，请登录PC端运营数据展示系统</div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
  import HeaderReport from "./HeaderReport"
  import RankList from "./RankList"
  import RadarChart from "./RadarChart"
  import TopRankList from "./TopRankList"
  import BarChartTransverse from './BarChartTransverse'
  export default {
    components: {
      HeaderReport,
      RadarChart,
      RankList,
      TopRankList,
      BarChartTransverse,
    },
    data(){
      return {
        tabActiveName: 'a',
        areaId: this.$store.state.userInfo.home_city,
        areaType: '',
        userInfo: this.$store.state.userInfo,
        role:sessionStorage.role,
        control_date: '',
        mark:1,
        avgDate: '',
        avgScore: 0,
        datePicker: {
          showData: '--年--月',
          selectDate: '',
          show: false,
          currentDate: new Date(),
          minDate: new Date(),
          maxDate: new Date(),
        },
        areaInfo: {
          show: false,
          defaultIndex: 0,
          showArea: '',
          selectId: this.$store.state.userInfo.home_city,
          columns: []
        },
        cityInfo: {
          show: false,
          defaultIndex: 0,
          showArea: "地市",
          selectId: "0",
          columns: []
        },
        radarData: {
          rankScore:'',
          title:'',
          areaType:'',
          aeraName:'',
          data: [],
        },
        topRankData:{
          data: [],
          unit: '-',
          rank: 'asc',
          rankAction: false,
          rankNumLight:'red',
          maxValue:100,
          totalWidth:1,
          titleWidth:1,
        },
        bottomRankData:{
          data: [],
          unit: '-',
          rank: 'asc',
          rankAction: false,
          rankNumLight:'grey',
          show:true,
          showMore:true,
          maxValue:100,
          totalWidth:1,
          titleWidth:1,
        },
        allRankData:{
          showAll: false,
          loading: false,
          data: [],
          unit: '-',
          rank: 'asc',
          rankAction: false
        },
        kpiCardData:{
          selectIndex:0,
          data:[]
        },
        kpiSelectData:{
          show: false,
          defaultIndex: 0,
          showArea: "营业收入增长率（年累）",
          selectId: "1064",
          columns: []
        },
        tipDialog: {
          show: false,
          list: [
            {
              title: '综合得分',
              detail: '全国：全国分项得分取各省对应分项得分平均值，全国总得分取全国分项得分合计值。省分：总得分=业务发展（50）+经营效益（50）：1、业务发展=收入增长率得分+营收款欠款占收比扣分+代垫电费欠款比率扣分+EBITDA率扣分+投资增收比得分；2、经营效益=资产报酬率得分+利润贡献率加分+利润完成差异率得分。地市总分=收入增长率得分+资产报酬率得分+营收款欠款比率扣分+代垫电费欠款比率扣分+投资增收比得分+EBITDA率扣分。注：得分数据为模拟测算得分，仅供参考'
            },
            {
              title: '营业收入增长率得分',
              // detail: '全国：取各省对应指标得分平均值。省分：若（收入增长率-6.5%）>0 ，则 {（收入增长率-6.5%）*1*100}+35，若（收入增长率-6.5%）<=0 ， 则 {（收入增长率-6.5%）*1*100}+35。地市：若（收入增长率-6.5%）>0，则{（收入增长率-6.5%）*1*100}+35，若（收入增长率-6.5% ）<=0，则{（收入增长率-6.5% ）*1*100}+35'
              detail:'全国：取各省对应指标得分平均值。省分：若（收入增长率-6.5%）>0 ，则 {（收入增长率-6.5%）*1*100}+35，最多加7分，若（收入增长率-6.5%）<=0 ， 则 {（收入增长率-6.5%）*1*100}+35，最多扣7分。地市：若（收入增长率-6.5%）>0，则{（收入增长率-6.5%）*1*100}+35，最多加7分，若（收入增长率-6.5% ）<=0，则{（收入增长率-6.5% ）*1*100}+35，最多扣7分'
            },
            {
              title: '营业收入增长率',
              detail: '运营商业务账龄超过一年的不含税应收营收款是指运营商业务截至考核期末仍未回款的2020年及以前年度不含税应收营收款；两翼业务坏账准备本年净增额是指两翼业务按公司坏账准备管理办法在本年发生的坏账准备净增数额，以前年度已核销本年又收回的应收账款作为坏账准备转回视同收入增项处理；营业收入增长率=（（本年营业收入完成值-运营商业务账龄超过一年的不含税应收营收款-两翼业务坏账准备本年净增额）-上年营业收入完成值）/上年营业收入完成值×100%。营业收入= 6001（经营收入）[全业务账套]贷方发生额 减去以下科目借方发生额：64010301（包干电费成本科目）[全业务账套]、64011301（包干电费成本）[全业务账套] 、64011501（包干电费成本）[全业务账套]、64011502（包干电费成本）[全业务账套]、 6401159701（包干电费成本）[全业务账套]、64010902（传输业务代建施工成本）[母公司账套] 、64011404（拓型业务销售设备成本）[母公司、智联账套] 、64011405（拓展业务代建施工成本）[母公司、智联账套]、64011606（代持业务结算）[全业务账套]、6001980499（其他）[全业务账套]、64010813（代理环评支出（按客户））[全业务账套]、64011603（包干电费成本）[母公司、能源账套] '
            },
            {
              title: '营收款欠款比率得分',
              detail: '全国取各省对应指标得分平均值。省分：为扣分值，在（客户欠费占收比-1）*10*0.1 和 0 之前取最大值，得出的最大值在5和得出的最大值之间取最小值为扣分值 公式为MIN(MAX((客户欠费占收比-1)*10*0.1,0),5)。地市：为扣分值，在（客户欠费占收比-1）*10*0.1 和0之前取最大值，得出的最大值在5和得出的最大值之间取最小值为扣分值，公式为MIN(MAX((客户欠费占收比-1)*10*0.1,0),5)。调整营收款欠款比率计分方法：由原办法中“每高于10个百分点扣0.125分，最多扣5分”调整为“每高于10个百分点扣0.1分，最多扣5分”'
            },
            {
              title: '营收款欠款比率',
              intro: '营收款欠款比率=（∑（运营商业务本年各月1个月以上欠费余额）/12/运营商业务本年累计月平均出账含税收入）×运营商业务收入比重+（能源业务累计欠费金额/能源业务本年累计应收金额）×能源业务收入比重+（拓展业务累计欠费金额/拓展业务本年累计应收金额）×拓展业务收入比重',
              detail: '运营商业务营收款欠款比率=Σ（11220101期末余额1122019801期末余额+11220201期末余额+1122029801期末余额+11220501期末余额+1122059801期末余额-(11220101借方发生+1122019801借方发生)）/Σ（11220101借方发生+1122019801借方发生）；能源业务营收款欠款比率=（11220102期末余额+1122019802期末余额+11220202期末余额+1122029802期末余额+11220502期末余额+1122059802期末余额）/Σ（11220102借方发生+1122019802借方发生）×100%；拓展业务营收款欠款比率=拓展业务欠费金额/拓展业务应收金额 ：1、拓展业务欠费金额=累计应收金额(合同级汇总)-累计应收回款金额(合同级汇总)，如果欠费金额小于0则置为0。注：1.1)需要在合同级别数据计算欠费后汇总。跨行业数据偏移两个月，例：5月营收欠款比率=4月欠费/4月应收，并计算在5月综评得分；1.2)坏账准备金额、坏账转销金额、承兑汇票等线下金额不纳入欠费金额计算。2、拓展业务应收金额：取本年应收款回款金额。（订单出账金额+调账金额搭配订单收费模式、付费方式后的应收金额。追减金额计算至操作月当月应收金额。）收入比重：运营商业务收入比重=运营商营业收入（包含其他收入）/营业收入 ； 能源业务收入比重= 能源营业收入/营业收入 ；跨行业业务收入比重=跨行业营业收入/营业收入 ；注：营收款欠款比率：将商业（或银行）承兑票据视同回款纳入统计范围。注：营收款欠款比率：将商业（或银行）承兑票据视同回款纳入统计范围；其中北京、天津、河北、山西、内蒙古、辽宁、江苏、安徽、福建、江西、山东、河南、湖北、湖南、广东、广西、重庆、四川、陕西剔除能源收入及成本，其余省分不剔除'
            },
            {
              title: '代垫电费欠款比率得分',
              detail: '全国：取各省对应指标得分平均值。省分：代垫电费欠款比率小于或等于100%不扣分；代垫电费欠款比率超过100%，每高于10个百分点扣0.25分，不足10%的，线性扣分，最多扣5分；年底前回款超过95%的分公司减半扣分，其中代垫电费回款率=（本年1-12月累计已回款金额+次年1月已回款金额）/（年初未结算金额+本年1-12月累计应结算金额）×100%。地市：代垫电费欠款比率小于或等于100%不扣分；代垫电费欠款比率超过100%，每高于10个百分点扣0.25分，不足10%的，线性扣分，最多扣5分。年底前回款超过95%的分公司减半扣分，其中代垫电费回款率=（本年1-12月累计已回款金额+次年1月已回款金额）/（年初未结算金额+本年1-12月累计应结算金额）×100%'
            },
            {
              title: '代垫电费欠款比率',
              intro: '代垫电费欠款比率=∑（本年各月一个月以上代垫电费应收款余额）/12 /本年累计月平均电费代垫额×100%',
              detail: '分子：月均1个月以上应收代垫电费余额=本年每月1个月以上代垫电费余额/12；分母：月均代垫电费额=本年每月新增代垫电费额/12=[(应回收代垫电费期末余额+当月回款额+当月转入非包干电力成本额)-应回收代垫电费期初余额]/12。具体明细计算科目请查看《运营维护报表-电费管理统计-代垫电费欠款率统计表》报表中指标口径说明'
            },
            {
              title: 'EBITDA率得分',
              detail: '全国：取各省对应指标得分平均值。省分：1）与上年相比，EBITDA率持平或上升的分公司不扣分；2）与上年相比，EBITDA率下降的分公司，较上年每下降1个百分点，按以下规则线性扣分，最多扣5分：扣分=（上年EBITDA率全国平均值- 上年EBITDA率本省值）×5+1。对于上年高于全国平均EBITDA率水平的分公司，新增收入EBITDA率高于上年全国平均值不扣分。新增收入EBITDA率=（本年EBITDA-上年EBITDA）/（本年营业收入-上年营业收入）×100%。地市：1）与上年相比，EBITDA率持平或上升的分公司不扣分；2）与上年相比，EBITDA率下降的分公司，较上年每下降1个百分点，按以下规则线性扣分，最多扣5分：扣分=（上年EBITDA率全国平均值- 上年EBITDA率本省值）×5+1。对于上年高于全国平均EBITDA率水平的分公司，新增收入EBITDA率高于上年全国平均值不扣分。新增收入EBITDA率=（本年EBITDA-上年EBITDA）/（本年营业收入-上年营业收入）×100%'
              // detail: '全国：取各省对应指标得分平均值。省分：1）与上年相比，EBITDA率持平或上升的分公司不扣分；2）与上年相比，EBITDA率下降的分公司，较上年每下降1个百分点，按以下规则线性扣分：扣分=（上年EBITDA率全国平均值- 上年EBITDA率本省值）×5+1。对于上年高于全国平均EBITDA率水平的分公司，新增收入EBITDA率高于上年全国平均值不扣分。新增收入EBITDA率=（本年EBITDA-上年EBITDA）/（本年营业收入-上年营业收入）×100%。地市：1）与上年相比，EBITDA率持平或上升的分公司不扣分；2）与上年相比，EBITDA率下降的分公司，较上年每下降1个百分点，按以下规则线性扣分：扣分=（上年EBITDA率全国平均值- 上年EBITDA率本省值）×5+1对于上年高于全国平均EBITDA率水平的分公司，新增收入EBITDA率高于上年全国平均值不扣分。新增收入EBITDA率=（本年EBITDA-上年EBITDA）/（本年营业收入-上年营业收入）×100%'
            },
            {
              title: 'EBITDA率（可比口径）',
              detail: 'EBITDA利润率是企业一定时期的息税前利润与折旧和摊销之和占这一时期的销售收入净额的比重。EBITDA率=EBITDA/营业收入；EBITDA=利润总额+财务费用+折旧摊销 ；利润总额=科目余额表 营业收入6001[全业务账套]贷方发生-营业成本\'6401,6403,6601,6602,6603,6701[全业务账套]借方发生+营业外收入6301[母公司账套]贷方发生-营业外支出6711[母公司账套]借方发生；财务费用=科目余额表6603借方发生额[全业务账套]；折旧及摊销= 以下科目 [全业务账套]借方发生额 64010101（经营收入-折旧）、64010102（经营收入-无形资产摊销）、64010103（经营收入-经营租入固定资产改良支出摊销）、64010104（经营收入-投资性房地产累计折旧与摊销费用）、64010105（经营收入-外市电引入摊销）、64010106（经营收入-选址费摊销）、64010107（经营收入-用户设备代装支出摊销）、64010108（经营收入-站址资源获取支出摊销）、64010198（经营收入-手工记账折旧摊销）、66020201（管理费用-折旧）、66020202（管理费用-无形资产摊销）、66020203（管理费用-经营租入固定资产改良支出摊销）、66020204（管理费用-内部分摊）。注：其中北京、天津、河北、山西、内蒙古、辽宁、江苏、安徽、福建、江西、山东、河南、湖北、湖南、广东、广西、重庆、四川、陕西剔除能源收入及成本，其余省分不剔除'
            },
            {
              title: '资产报酬率得分',
              detail: '全国：取各省对应指标得分平均值。省分：2021资产报酬率=（利润总额+财务费用）/（总资产期初+总资产期末）*2；2021年年化=2021资产报酬率*12/统计月份；加分=（2020年资产报酬率-4.5%）*5+1 ；；减分=（4.5%-2020年资产报酬率）*5+1。若 2021年年化-2020年资产报酬率>0.4%，则 （加分*（（2021年年化-2020年资产报酬率）-0.4%）*1000）+50，最多加10分 ，若 2021年年化-2020年资产报酬率<=0.4% ， 则（减分*（（2021年年化-2020年资产报酬率）-0.4%）*1000）+50，最多扣10分。地市：2021资产报酬率=（利润总额+财务费用）/（总资产期初+总资产期末）*2；2021年年化=2021资产报酬率*12/统计月份；加分=（2020年资产报酬率-4.5%）*5+1；减分=（4.5%-2020年资产报酬率）*5+1。若 2021年年化-2020年资产报酬率>0.4%，则 （加分*（（2021年年化-2020年资产报酬率）-0.4%）*1000）+50，最多加10分，若 2021年年化-2020年资产报酬率<=0.4% ，则（减分*（（2021年年化-2020年资产报酬率）-0.4%）*1000）+50，最多扣10分'
              // detail: '全国：取各省对应指标得分平均值。省分：2021资产报酬率=（利润总额+财务费用）/（总资产期初+总资产期末）*2；2021年年化=2021资产报酬率*12/统计月份：加分=（2020年资产报酬率-4.5%）*5+1 ；减分=（4.5%-2020年资产报酬率）*5+1。若 2021年年化-2020年资产报酬率>0.4%，则 （加分*（（2021年年化-2020年资产报酬率）-0.4%）*1000）+50，若 2021年年化-2020年资产报酬率<=0.4% ， 则（减分*（（2021年年化-2020年资产报酬率）-0.4%）*1000）+50。地市：2021资产报酬率=（利润总额+财务费用）/（总资产期初+总资产期末）*2；2021年年化=2021资产报酬率*12/统计月份：加分=（2020年资产报酬率-4.5%）*5+1；减分=（4.5%-2020年资产报酬率）*5+1。若 2021年年化-2020年资产报酬率>0.4%，则 （加分*（（2021年年化-2020年资产报酬率）-0.4%）*1000）+50，若 2021年年化-2020年资产报酬率<=0.4% ，则（减分*（（2021年年化-2020年资产报酬率）-0.4%）*1000）+50'
            },
            {
              title: '资产报酬率（可比口径）',
              detail: '资产报酬率以投资报酬为基础来分析企业获利能力,是企业投资报酬与投资总额之间的比率。（资产报酬率（利润总额+财务费用）/(期初总资产+期末总资产）*2；利润总额=科目余额表 营业收入6001[全业务账套]贷方发生-营业成本\'6401,6403,6601,6602,6603,6701[全业务账套]借方发生+营业外收入6301[母公司账套]贷方发生-营业外支出6711[母公司账套]借方发生财务费用=科目余额表6603借方发生额；期初总资产=科目余额表（1001，1002，1009，1101，1121，1122，1123，1132，1131，1221，1402，1403，1409，1410，1420，1405，1408，15020101，15020201，15020301，15029901，1503101，1503，15020102，15020202，15020302，15029902，153102，1511，1521，1601，1604，1605，1606，1701，1711，1801，1811，1901，1902，1903，12310101，12310201，12310301，12310401，12310102，12310202，12310302，12310402，1471，12310103，12310203，12310303，12310403，1532，1512，1522，1523，1602，1603，1607，1608，1702，1703，1712 ）[全业务账套]年初余额；期末总资产=科目余额表（1001，1002，1009，1101，1121，1122，1123，1132，1131，1221，1402，1403，1409，1410，1420，1405，1408，15020101，15020201，15020301，15029901，1503101，1503，15020102，15020202，15020302，15029902，153102，1511，1521，1601，1604，1605，1606，1701，1711，1801，1811，1901，1902，1903，12310101，12310201，12310301，12310401，12310102，12310202，12310302，12310402，1471，12310103，12310203，12310303，12310403，1532，1512，1522，1523，1602，1603，1607，1608，1702，1703，1712 ）[全业务账套]当前余额。注：其中北京、天津、河北、山西、内蒙古、辽宁、江苏、安徽、福建、江西、山东、河南、湖北、湖南、广东、广西、重庆、四川、陕西剔除能源收入及成本，其余省分不剔除'
            },
            {
              title: '利润贡献率得分',
              detail: '全国：取各省对应指标得分平均值。省分：为加分值，（利润规模贡献率*0.4+利润改善贡献率*0.6）*100，取利润规模贡献率和利润改善贡献率大于0的省份计算。地市：无此项得分'
            },
            {
              title: '利润贡献率',
              intro: '省分利润贡献率=利润改善贡献率×60%+利润规模贡献率×40%',
              detail:'注：其中北京、天津、河北、山西、内蒙古、辽宁、江苏、安徽、福建、江西、山东、河南、湖北、湖南、广东、广西、重庆、四川、陕西剔除能源收入及成本，其余省分不剔除'
            },
            {
              title: '利润改善贡献率',
              intro: '省分利润改善贡献率=（本省本年利润总额-本省上年利润总额）/利润改善为正分公司利润改善合计数',
              detail: '利润总额=科目余额表 营业收入6001[全业务账套]贷方发生-营业成本\'6401,6403,6601,6602,6603,6701[全业务账套]借方发生+营业外收入6301[母公司账套]贷方发生-营业外支出6711[母公司账套]借方发生。注：其中北京、天津、河北、山西、内蒙古、辽宁、江苏、安徽、福建、江西、山东、河南、湖北、湖南、广东、广西、重庆、四川、陕西剔除能源收入及成本，其余省分不剔除'
            },
            {
              title: '投资增收比得分',
              detail: '全国：取各省对应指标得分平均值。省分：若（投资增收比-18%）>0 ，则 {（投资增收比-18%）*0.4*100}+15，最多加4分；若（投资增收比-18%）<=0 ， 则 {（投资增收比-18%）*1*100}+15，最多扣15分。地市：若（投资增收比-18%）>0，则{（投资增收比-18%）*0.4*100}+15，最多加4分；若（投资增收比-18% ）<=0，则{（投资增收比-18% ）*1*100}+15，最多扣15分'
              // detail: '全国：取各省对应指标得分平均值。省分：若（投资增收比-18%）>0 ，则 {（投资增收比-18%）*0.2*100}+15，最多加2分；若（投资增收比-18%）<=0 ， 则 {（投资增收比-18%）*1*100}+15，最多扣15分。地市：若（投资增收比-18%）>0，则{（投资增收比-18%）*0.2*100}+15，最多加2分；若（投资增收比-18% ）<=0，则{（投资增收比-18% ）*1*100}+15，最多扣15分'
            },
            {
              title: '投资增收比',
              intro: '投资增收比=（本年营业收入-上年营业收入）年化 /（上年第四季度资本性支出/2+本年1至3季度资本性支出+本年第四季度资本性支出/2）×100%',
              detail: '其中：资本性支出不含综合生产用房资本性支出；本年1至3季度资本性支出中新增高铁、地铁和投资2000万元以上的大型网络覆盖项目等同4季度按一半计算，其他项目按全额计算。分子：（本年累计营业收入-上年累计营业收入）除以月份*12 ；分母：分母10月、11月、12月计算方法有所不同，下面分别说明！1-9月 :近一年资本开支-近一年生成用房-近一年大项目/2（本年3月：上年4月到本年3月 -近一年生成用房-近一年大项目/2）。10月：上年10月/2 +上年11月到本年9月全量+本年10月/2 -近一年生成用房 -上年11月到本年9月全量大项目/2；11月：上年10月到11月/2 +上年12月到本年9月全量+本年10月到11月/2 -近一年生成用房-上年12月到本年9月全量 大项目/2；12月：上年10月到12月/2 +上年1月到本年9月全量+本年10月到12月/2 -近一年生成用房-+本年1月到本年9月全量 大项目/2。注：其中北京、天津、河北、山西、内蒙古、辽宁、江苏、安徽、福建、江西、山东、河南、湖北、湖南、广东、广西、重庆、四川、陕西剔除能源收入及成本，其余省分不剔除'
            },
          ]
        },
      }
    },
    methods: {
      //记录日志
      recordLogs() {
        let params = {
          userId: this.userInfo.user_id,
          verify_code: this.userInfo.verify_code,
          priv_id: '10102890',
        }

        this.$http.post("api/new/insertLogs", params).then(res => {})
      },
      //获得时间域
      getMaxMinMonth() {
        function dateSplit(param) {
          let paramStr = param + ''
          let dateArr = paramStr.replace(/(.{4})/g,'$1,').split(',')
          return dateArr
        }
        return new Promise((resolve, reject) => {
          /*this.$http.post('/api/yearCheckIndex/maxMonth', {type: '4'}).then(data => {
            let max = data.maps[0].MAX_MONTH;
            let min = data.maps[0].MIN_MONTH;

            let maxYear = dateSplit(max)[0];
            let maxMonth = dateSplit(max)[1];
            let minYear = dateSplit(min)[0];
            let minMonth = dateSplit(min)[1];
            let actualMaxMonth = parseInt(maxMonth) - 1;
            let actualMinMonth = parseInt(minMonth) - 1;
            let showMaxMonth = maxMonth[0] == '0' ? maxMonth[1] : maxMonth;

            this.datePicker.currentDate = new Date(maxYear, actualMaxMonth);
            this.datePicker.minDate = new Date(minYear, actualMinMonth);
            this.datePicker.maxDate = new Date(maxYear, actualMaxMonth);

            this.datePicker.showData = maxYear + '年' + showMaxMonth + '月';
            this.datePicker.selectDate = maxYear + '' + maxMonth;

            if(max>this.control_date){
              this.avgDate = Number((this.control_date+'').substr(4,2))+'月';
            }

            resolve("ok")
          })*/
          let params1={
            date_type:'1',
            module_id:'0',
          }
          this.$http.post('/api/newTower/controlDate/qryControlDate', params1).then(data => {
            let switch_day = data.rows.col3;
            let switch_month = data.rows.col4;
            let nowDate = new Date();
            let now_day = nowDate.getDate();
            let now_month = nowDate.getMonth()+1;
            let now_year = nowDate.getFullYear();
            let day,month,year,max_,min_;
            if(now_day>=switch_day){
              if(now_month == 1){
                month = 12;
                year = now_year -1;
              }else {
                month = now_month-1;
                year = now_year;
              }
            }else {
              if(now_month == 1){
                month = 11;
                year = now_year -1;
              }else if(now_month == 2){
                month = 12;
                year = now_year -1;
              }else {
                month = now_month-2;
                year = now_year;
              }
            }
            if(month<10){
              month = '0'+month;
            }
            max_ = year + '' + month;
            let max = max_;
            let min = 201801;

            let maxYear = dateSplit(max)[0];
            let maxMonth = dateSplit(max)[1];
            let minYear = dateSplit(min)[0];
            let minMonth = dateSplit(min)[1];
            let actualMaxMonth = parseInt(maxMonth) - 1;
            let actualMinMonth = parseInt(minMonth) - 1;
            let showMaxMonth = maxMonth[0] == '0' ? maxMonth[1] : maxMonth;

            this.datePicker.currentDate = new Date(maxYear, actualMaxMonth);
            this.datePicker.minDate = new Date(minYear, actualMinMonth);
            this.datePicker.maxDate = new Date(maxYear, actualMaxMonth);

            this.datePicker.showData = maxYear + '年' + showMaxMonth + '月';
            this.datePicker.selectDate = maxYear + '' + maxMonth;

            let params2={
              date_type:'1',
              module_id:'1',
              today:max_
            }
            this.$http.post('/api/newTower/controlDate/qryControlDate', params2).then(data => {
              if(data.rows == null || data.rows ==undefined){
                this.control_date = max_
              }else {
                this.control_date = data.rows.col4;
              }
              if(max>this.control_date){
                this.avgDate = Number((this.control_date+'').substr(4,2))+'月';
              }
              resolve("ok")
            })

          })
        })


      },
      //显示地市弹框
      chooseCity(area) {
        if (area == 'province') {
          this.areaInfo.show = true
        } else if (area == 'city') {
          this.cityInfo.show = true
        }
      },
      //取消地市弹框
      cancelFn(area) {
        if (area == 'province') {
          this.areaInfo.show = false
        } else if (area == 'city') {
          this.cityInfo.show = false
        }
      },
      //确认省份
      confirmFnProvince(item, index) {
        if (this.areaInfo.selectId != item.id) {
          this.areaInfo.selectId = item.id
          this.areaId = item.id
          this.areaInfo.showArea = item.text
          this.cityInfo.columns = []
          this.cityInfo.showArea = '地市'
          if (this.role == 'province') {
            if (this.areaId != '100000') {
              this.areaInfo.columns = []
              this.getAreaInfo()
            } else {
              this.cityInfo.columns = [{text: '地市', id: '0'}]
            }
          } else {
            this.getAreaInfo()
          }
          this.initPage()
        }
        this.areaInfo.show = false

      },
      //确认地市
      confirmFnCity(item, index) {
        if (this.cityInfo.selectId != item.id) {
          this.cityInfo.selectId = item.id
          this.cityInfo.showArea = item.text
          if (this.cityInfo.selectId != '' && this.cityInfo.selectId != 0) {
            this.areaId = item.id
          } else {
            this.areaId = this.areaInfo.selectId
          }
          this.initPage()
        }
        this.cityInfo.show = false
      },
      //格式化时间
      formatter(type, value) {
        if (type === 'year') {
          return `${value}年`;
        } else if (type === 'month') {
          return `${value}月`
        }
        return value;
      },
      //日期选择
      chooseDate() {
        this.datePicker.show = true
      },
      //取消日期设置
      handleCanleDate() {
        this.datePicker.show = false
      },
      //选择日期
      handleConfirmDate(value) {
        this.handleCanleDate()
        let date = new Date(value)
        let year = date.getFullYear()
        let month = date.getMonth() + 1
        let month1 = month < 10 ? '0' + month : month
        let chooseDate = year + '' + month1
        if (this.datePicker.selectDate != chooseDate) {
          this.datePicker.showData = year + '年' + month + '月';
          this.datePicker.selectDate = year + '' + month1;
          if(this.datePicker.selectDate>this.control_date){
            this.avgDate = Number((this.control_date+'').substr(4,2))+'月';
          }else {
            this.avgDate = '';
          }
          if(this.datePicker.selectDate>=201909){
            this.mark = 1;
          }else {
            this.mark = 0;
          }
          this.initPage();
        }
      },
      //获得全国各省列表
      getAreaInfo() {
        let params = {
          statMonth: this.datePicker.selectDate,
          areaId: this.areaId
        }

        this.$http
          .post("api/yearCheckIndex/getKpiAreaInfo", params)
          .then(data => {
            //获取省会
            if (data.rows.length > 1) {
              this.areaInfo.columns = []
              data.rows.forEach(item => {
                this.areaInfo.columns.push({
                  text: item.area,
                  id: item.areaId
                })
              })
              this.areaInfo.columns.unshift({ text: "全国", id: "100000" })
              this.cityInfo.columns.unshift({ text: "地市", id: "0" })
              this.areaInfo.showArea = '全国'
            }
            //获取地市
            if (data.rows2.length > 1) {
              this.cityInfo.columns = []
              data.rows2.forEach(item => {
                this.cityInfo.columns.push({
                  text: item.area,
                  id: item.areaId
                });
              });
              this.cityInfo.columns.unshift({ text: "地市", id: "0" })
              this.areaInfo.selectId = data.rows[0].areaId
              this.areaInfo.showArea = data.rows[0].area
              if (this.role == "province") {
                this.areaInfo.columns.push(
                  {
                    text: data.rows[0].area,
                    id: data.rows[0].areaId
                  }
                )
                this.areaInfo.defaultIndex = 1
              }
            } else if (data.rows2.length == 1 ) {
              if (this.role == "city") {
                this.areaInfo.selectId = data.rows[0].areaId
                this.areaInfo.showArea = data.rows[0].area
                this.areaInfo.columns = [
                  {
                    text: data.rows[0].area,
                    id: data.rows[0].areaId
                  }
                ]
                this.cityInfo.selectId = data.rows2[0].areaId
                this.cityInfo.showArea = data.rows2[0].area
                this.cityInfo.defaultIndex = 1
                this.cityInfo.columns = [
                  {
                    text: data.rows2[0].area,
                    id: data.rows2[0].areaId
                  }
                ]
              }
            }
            this.initPage();
          });
      },
      //tab切换
      handleTabClick(name, title) {
        this.initPage();
      },
      initPage(){
        if(this.areaId=='100000'){
          this.areaType = 0;
        }else if(this.areaId.substr(-4) == '0000'){
          this.areaType = 1;
        }else {
          this.areaType = 2;
        }
        if(this.tabActiveName == 'a'){
          this.getAvgScore();
          this.getRadarData();
          this.get5RankData();
        }else {
          this.getKpiCardData();
          this.getKpiCardSelect();
          this.get5RankData2();
        }

      },
      //获取全国平均分
      getAvgScore(){
        let params = {
          mark: this.mark,
          // qry_sum_month: '202103',
          qry_sum_month: this.datePicker.selectDate,
        }
        if(this.control_date<this.datePicker.selectDate){
          params.qry_sum_month = this.control_date;
        }
        this.$http.post('/api/newTower/assessmentIndex/qryAssessmentIndex', params).then(data => {
          this.avgScore = data.rows[0].rate;
        })

      },
      //获取雷达图数据
      getRadarData(){
        this.radarData.areaType = this.areaType;
        let params = {
          mark: this.mark,
          qry_date_type: "2",
          qry_sum_month: this.datePicker.selectDate,
        }
        if(this.datePicker.selectDate>this.control_date){
          params.qry_sum_month = this.control_date;
        }
        if(this.areaType==0){
          params.qry_area_code = '100000';
          params.qry_area_level = 1;
          this.radarData.aeraName = this.areaInfo.showArea;
        }else if(this.areaType==1){
          params.qry_area_code = this.areaId+''+this.areaType;
          params.qry_area_level = 3;
          this.radarData.aeraName = this.areaInfo.showArea;
        }else {
          params.qry_area_code = this.areaId+''+this.areaType;
          params.qry_area_level = 4;
          this.radarData.aeraName = this.cityInfo.showArea;
        }
        this.$http.post('/api/newTower/assessmentIndex/qryRadarDate', params).then(data => {
          this.radarData.data = [];
          let row0={name:'',value:0,max:0,min:-5};
          let row1={name:'',value:0,max:0,min:-5};
          let row2={name:'',value:0,max:0,min:-5};
          let row3={name:'',value:0,max:0,min:-5};
          let row4={name:'',value:0,max:0,min:-5};
          let row5={name:'',value:0,max:0,min:-5};
          let row6={name:'',value:0,max:0,min:-5};
          if(this.areaType==2){
            if(this.datePicker.selectDate>='202101'){
              data.rows.forEach(row => {
                if((row.col1).indexOf('营收款欠款比率')>-1){
                  row2={name:'营收款欠款比率',value:(row.col3*1)<-5?-5:row.col3,max:0,min:-5};
                }
                if((row.col1).indexOf("收入增长率")>-1){
                  row0={name:"收入增长率",value:(row.col3*1)<0?0:row.col3,max:row.max,min:0};
                }
                if((row.col1).indexOf("资产报酬率")>-1){
                  row1={name:"资产报酬率",value:(row.col3*1)<0?0:row.col3,max:row.max,min:0};
                }
                if((row.col1).indexOf("代垫电费欠款比率")>-1){
                  row3={name:"代垫电费欠款比率",value:(row.col3*1)<-5?-5:row.col3,max:0,min:-5};
                }
                if((row.col1).indexOf("EBITDA率")>-1){
                  row4={name:"EBITDA率",value:(row.col3*1)<0?0:row.col3,max:0,min:row.col2};
                }
                if((row.col1).indexOf("投资增收比")>-1){
                  row5={name:"投资增收比",value:(row.col3*1)<0?0:row.col3,max:(row.max*1>0)?row.max:1,min:(row.col2*1>0)?row.col2:0};
                }
              })
              this.radarData.data.push(row2);
              this.radarData.data.push(row0);
              this.radarData.data.push(row1);
              this.radarData.data.push(row3);
              this.radarData.data.push(row4);
              this.radarData.data.push(row5);
            }else {
              data.rows.forEach(row => {
                if((row.col1).indexOf('营收款欠款比率')>-1){
                  row2={name:'营收款欠款比率',value:(row.col3*1)<-5?-5:row.col3,max:0,min:-5};
                }
                if((row.col1).indexOf("收入增长率")>-1){
                  row0={name:"收入增长率",value:(row.col3*1)<0?0:row.col3,max:row.max,min:0};
                }
                if((row.col1).indexOf("资产报酬率")>-1){
                  row1={name:"资产报酬率",value:(row.col3*1)<0?0:row.col3,max:row.max,min:0};
                }

                if((row.col1).indexOf("代垫电费欠款比率")>-1){
                  row3={name:"代垫电费欠款比率",value:(row.col3*1)<-5?-5:row.col3,max:0,min:-5};
                }
                if((row.col1).indexOf("EBITDA率")>-1){
                  row4={name:"EBITDA率",value:(row.col3*1)<0?0:row.col3,max:0,min:row.col2};
                }
              })
              this.radarData.data.push(row2);
              this.radarData.data.push(row0);
              this.radarData.data.push(row1);
              this.radarData.data.push(row3);
              this.radarData.data.push(row4);
            }
            this.radarData.title = this.radarData.aeraName+' '+data.rows[0].col0+' '+data.rows[0].col4;
          }else {
            if(this.datePicker.selectDate>='202101'){
              data.rows.forEach(row => {
                if ((row.col1).indexOf("收入增长率") > -1) {
                  row0 = {name: "收入增长率", value: (row.col3 * 1) < 0 ? 0 : row.col3, max: row.max, min: 0};
                }
                if ((row.col1).indexOf("资产报酬率") > -1) {
                  row1 = {name: "资产报酬率", value: (row.col3 * 1) < 0 ? 0 : row.col3, max: row.max, min: 0};
                }
                if((row.col1).indexOf("投资增收比")>-1){
                  row2={name:"投资增收比",value:(row.col3*1)<0?0:row.col3,max:(row.max*1>0)?row.max:1,min:(row.col2*1>0)?row.col2:0};
                }
                if ((row.col1).indexOf('营收款欠款比率') > -1) {
                  row3 = {name: '营收款欠款比率', value: (row.col3 * 1) < -5 ? -5 : row.col3, max: 0, min: -5};
                }
                if ((row.col1).indexOf("代垫电费欠款比率") > -1) {
                  row4 = {name: "代垫电费欠款比率", value: (row.col3 * 1) < -5 ? -5 : row.col3, max: 0, min: -5};
                }
                if ((row.col1).indexOf("EBITDA率") > -1) {
                  row5 = {name: "EBITDA率", value: (row.col3 * 1) > 0 ? 0 : row.col3, max: 0, min: row.col2};
                }
                if ((row.col1).indexOf("利润贡献率") > -1) {
                  row6 = {name: "利润贡献率", value: (row.col3 * 1) < 0 ? 0 : row.col3, max: row.max, min: -1};
                }
              })
              this.radarData.data.push(row0);
              this.radarData.data.push(row1);
              this.radarData.data.push(row2);
              this.radarData.data.push(row3);
              this.radarData.data.push(row4);
              this.radarData.data.push(row5);
              this.radarData.data.push(row6);
            }else {
              data.rows.forEach(row => {
                if((row.col1).indexOf('营收款欠款比率')>-1){
                  row3={name:'营收款欠款比率',value:(row.col3*1)<-5?-5:row.col3,max:0,min:-5};
                }
                if((row.col1).indexOf("收入增长率")>-1){
                  row0={name:"收入增长率",value:(row.col3*1)<0?0:row.col3,max:row.max,min:0};
                }
                if((row.col1).indexOf("资产报酬率")>-1){
                  row1={name:"资产报酬率",value:(row.col3*1)<0?0:row.col3,max:row.max,min:0};
                }
                if((row.col1).indexOf("代垫电费欠款比率")>-1){
                  row4={name:"代垫电费欠款比率",value:(row.col3*1)<-5?-5:row.col3,max:0,min:-5};
                }
                if((row.col1).indexOf("EBITDA率")>-1){
                  row5={name:"EBITDA率",value:(row.col3*1)>0?0:row.col3,max:0,min:row.col2};
                }
                if((row.col1).indexOf("利润贡献率")>-1){
                  row6={name:"利润贡献率",value:(row.col3*1)<0?0:row.col3,max:row.max,min:-1};
                }
              })
              this.radarData.data.push(row3);
              this.radarData.data.push(row0);
              this.radarData.data.push(row1);
              this.radarData.data.push(row4);
              this.radarData.data.push(row5);
              this.radarData.data.push(row6);
            }
            if(this.areaType ==1){
              this.radarData.title = this.radarData.aeraName+' '+data.rows[0].col0 +' '+data.rows[0].col4;
            }else {
              this.radarData.title = '全国';
            }
          }

        })


      },
      //查看更多排名点击事件-rank
      showMoreRankClick(){
        this.allRankData.showAll = true;
        this.bottomRankData.show = false;
        if(this.allRankData.showAll==true){
          if(this.tabActiveName == 'a'){
            this.getAllRankData();
          }else {
            this.getAllRankData2();
          }

        }
      },
      //获取前五后五排名
      get5RankData(){
        this.topRankData.data=[];
        this.bottomRankData.data=[];
        this.allRankData.showAll = false;
        this.topRankData.show = true;

        let params = {
          mark: this.mark,
          qry_date_type: "2",
          qry_sum_month: this.datePicker.selectDate,
          qry_area_code: '100000',
          qry_code:'1202',  // qry_code: "1122"
        }
        if(this.areaType==2){
          params.qry_area_code = (this.areaId+'').substr(0,2)+'0000';
        }
        if(this.datePicker.selectDate>this.control_date){
          params.qry_sum_month = this.control_date;
        }
        if(this.datePicker.selectDate<201909){
          params.qry_code = "1122";
        }
        this.$http.post('/api/newTower/newHomePage/qryAssessmentIndex', params).then(data => {
          this.topRankData.data=[];
          this.bottomRankData.data=[];
          let list = data.rows;
          this.topRankData.maxValue=list[0].rate;
          this.bottomRankData.maxValue=list[0].rate;
          let numStrs = list.map(item => {
            item.rate = item.rate + ''
            return item.rate.length
          })
          this.topRankData.totalWidth = Math.max.apply('', numStrs);
          this.bottomRankData.totalWidth = Math.max.apply('', numStrs);
          let titleStrs = list.map(item => {
            return item.text.length
          })
          this.topRankData.titleWidth = (Math.max.apply('', titleStrs) + 1);
          this.bottomRankData.titleWidth = (Math.max.apply('', titleStrs) + 1);

          if(this.areaType==0){
            list.forEach((item,index) => {
              let temp = {name:item.text,value:item.rate,rank:item.rank,areaId:item.areaId};
              if(index<5){
                this.topRankData.data.push(temp);
              }
              if(list.length-index<=5){
                this.bottomRankData.data.push(temp);
              }
            })
          }else {
            let center_rank = 0;
            list.forEach(item => {
              if(item.areaId == this.areaId){
                center_rank = item.rank;
              }
            })

            if(list.length>10){
              list.forEach((item,index) => {
                let temp = {name:item.text,value:item.rate,rank:item.rank,areaId:item.areaId};
                // debugger
                if(center_rank<=5){
                  if(index<5){
                    this.topRankData.data.push(temp);
                  }
                  if(index-5>=0&&index-5+1<=5){
                    this.bottomRankData.data.push(temp);
                  }
                }else if(list.length-center_rank<5){
                  let rank_num = list.length - 5 -1;
                  if(rank_num - index>=0&&rank_num -index <5){
                    this.topRankData.data.push(temp);
                  }
                  if(list.length-index<=5){
                    this.bottomRankData.data.push(temp);
                  }
                }else {
                  if(center_rank-index-1<=5&&center_rank-index-1>0){
                    this.topRankData.data.push(temp);
                  }
                  if(index-center_rank>=0&&index-center_rank+1<=5){
                    this.bottomRankData.data.push(temp);
                  }
                }
              })

            }else {
              list.forEach(item => {
                let temp = {name:item.text,value:item.rate,rank:item.rank,areaId:item.areaId};
                this.topRankData.data.push(temp);
              })
              this.bottomRankData.data = [];
            }

          }
          console.log(this.topRankData.data[0].rank)
          if(this.topRankData.data[0].rank==1){
            this.topRankData.rankNumLight='light';
          }else {
            this.topRankData.rankNumLight='red';
          }
          if(this.bottomRankData.data.length==0){
            this.bottomRankData.show = false;
          }else {
            this.bottomRankData.show = true;
          }
        })


      },
      //获取所有排名
      getAllRankData(){
        this.allRankData.data=[];
        let params = {
          mark: this.mark,
          qry_date_type: "2",
          qry_sum_month: this.datePicker.selectDate,
          qry_area_code: '100000',
          qry_code:'1202',  // qry_code: "1122"
        }
        if(this.areaType==2){
          params.qry_area_code = (this.areaId+'').substr(0,2)+'0000';
        }
        if(this.datePicker.selectDate>this.control_date){
          params.qry_sum_month = this.control_date;
        }
        if(this.datePicker.selectDate<201909){
          params.qry_code = "1122";
        }
        this.$http.post('/api/newTower/newHomePage/qryAssessmentIndex', params).then(data => {
          this.allRankData.data=[];
          let list = data.rows;
          list.forEach(item => {
            let temp = {name:item.text,value:item.rate,rank:item.rank,areaId:item.areaId};
            this.allRankData.data.push(temp);
          })
        })
      },
      //同环比趋势
      changeRankClass(value) {
        if (value == 1) {
          return 'trend--asc2'
        } else if (value == 2) {
          return 'trend--asc'
        } else if (value == -1) {
          return 'trend--desc2'
        } else if (value == -2) {
          return 'trend--desc'
        } else {
          return 'trend--zero'
        }
      },
      //卡片点击事件
      kpiCardClick(index){
        this.kpiCardData.selectIndex = index;
        let selectId = this.kpiCardData.data[index].id;
        let selectText = this.kpiCardData.data[index].name+'（年累）';
        if (this.kpiSelectData.selectId != selectId && selectId!=1094) {
          this.kpiSelectData.selectId = selectId;
          this.kpiSelectData.showArea = selectText;
          this.get5RankData2();
        }
      },
      //卡片高亮
      changekpiCardClass(num,index){
        if(num==1){
          if(this.kpiCardData.selectIndex == index){
            return 'kpi-card--active';
          }
        }
        if(num==2){
          if((this.kpiCardData.selectIndex + 1) == index){
            return 'kpi-card-inner--active';
          }
        }
        if(num==3){
          if(this.kpiCardData.selectIndex == index){
            return 'kpi-card-inner2--active';
          }
        }
        if(num==4){
          if(this.kpiCardData.selectIndex == index){
            return 'kpi-card-inner-val-1--active';
          }
        }

      },
      //卡片数据
      getKpiCardData(){
        this.kpiCardData.data=[]
        let params = {
          qry_area_code: this.areaId,
          qry_sum_month: this.datePicker.selectDate,
        }
        this.$http.post('/api/newTower/assessmentIndex/qryProjectAssessmentAll', params).then(data => {
          let row1,row2,row3,row4,row5,row6,row7;
          data.rows.forEach(item => {
            if(item.col0 == '1064'){
              row1 = {id: 1064, name: '营业收入增长率', tb:item.tb,hb:item.hb,value:item.rate};
            }
            if(item.col0 == '1007'){
              row2 = {id: 1007, name: '营收款欠款比率', tb:item.tb,hb:item.hb,value:item.rate};
            }
            if(item.col0 == '1081'){
              row3 = {id: 1081, name: '资产报酬率', tb:item.tb,hb:item.hb,value:item.rate};
            }
            if(item.col0 == '1068'){
              row4 = {id: 1068, name: '代垫电费欠款比率', tb:item.tb,hb:item.hb,value:item.rate};
            }
            if(item.col0 == '1067'){
              row5 = {id: 1067, name: 'EBITDA率', tb:item.tb,hb:item.hb,value:item.rate};
            }
            if(item.col0 == '1793'){
              row6 = {id: 1793, name: '投资增收比', tb:item.tb,hb:item.hb,value:item.rate};
            }
            if(item.col0 == '1094'){
              row7 = {id: 1094, name: '利润贡献率', tb:item.tb,hb:item.hb,value:item.rate};
            }
          })
          this.kpiCardData.data.push(row1);
          this.kpiCardData.data.push(row2);
          this.kpiCardData.data.push(row3);
          this.kpiCardData.data.push(row4);
          this.kpiCardData.data.push(row5);
          if(this.datePicker.selectDate>='202101'){
            this.kpiCardData.data.push(row6);
          }
          if(this.areaType == 1){
            this.kpiCardData.data.push(row7);
          }

        })
      },
      //卡片柱图选择框
      getKpiCardSelect(){
        if(this.areaType == 0){
          this.kpiSelectData.columns=[
            {id: 1064, text: '营业收入增长率（年累）'},
            {id: 1007, text: '营收款欠款比率（年累）'},
            {id: 1081, text: '资产报酬率（年累）'},
            {id: 1068, text: '代垫电费欠款比率（年累）'},
            {id: 1067, text: 'EBITDA率（年累）'},
            {id: 1094, text: '利润贡献率（年累）'},
            {id: 1120, text: '利润贡改善献率（年累）'},
            {id: 1121, text: '利润贡规模献率（年累）'},
          ]
        }else if(this.areaType == 1){
          this.kpiSelectData.columns=[
            {id: 1064, text: '营业收入增长率（年累）'},
            {id: 1007, text: '营收款欠款比率（年累）'},
            {id: 1081, text: '资产报酬率（年累）'},
            {id: 1068, text: '代垫电费欠款比率（年累）'},
            {id: 1067, text: 'EBITDA率（年累）'},
          ]
        }else {
          this.kpiSelectData.columns=[
            {id: 1064, text: '营业收入增长率（年累）'},
            {id: 1007, text: '营收款欠款比率（年累）'},
            {id: 1081, text: '资产报酬率（年累）'},
            {id: 1068, text: '代垫电费欠款比率（年累）'},
            {id: 1067, text: 'EBITDA率（年累）'},
          ]
        }
        if(this.datePicker.selectDate>='202101'){
          this.kpiSelectData.columns.push({id: 1793, text: '投资增收比（年累）'});
        }
        this.kpiSelectData.selectId = 1064;
        this.kpiSelectData.showArea = '营业收入增长率（年累）';
        this.kpiCardData.selectIndex = 0;
      },
      //确认卡片柱图选择框
      confirmFnKpiName(item, index) {
        if (this.kpiSelectData.selectId != item.id) {
          this.kpiSelectData.selectId = item.id
          this.kpiSelectData.showArea = item.text
          if(this.kpiSelectData.selectId == 1094 || this.kpiSelectData.selectId == 1120 || this.kpiSelectData.selectId == 1121){
            this.get5RankData2();
          }else {
            this.kpiCardData.data.forEach((item2,index2) => {
              if(this.kpiSelectData.selectId==item2.id){
                this.kpiCardData.selectIndex = index2;
                this.get5RankData2();
              }
            })
          }
        }
        this.kpiSelectData.show = false;

        // this.get5RankData2();
      },
      //获取前五后五排名
      get5RankData2(){
        this.topRankData.data=[];
        this.bottomRankData.data=[];
        this.allRankData.showAll = false;
        this.topRankData.show = true;

        let params = {
          qry_date_type: "2",
          qry_sum_month: this.datePicker.selectDate,
          qry_area_code: this.areaId,
          qry_area_level: 1,
          qry_code:this.kpiSelectData.selectId,  // qry_code: "1122"
          qry_flag:1,
        }
        if(this.kpiSelectData.selectId == 1120 || this.kpiSelectData.selectId == 1121){
          params.qry_code = 1094;
        }
        if(this.areaType==2){
          params.qry_area_code = (this.areaId+'').substr(0,2)+'0000';
        }
        if(this.areaType!=0){
          params.qry_area_level = 3;
        }
        if(this.kpiSelectData.selectId == 1094){
          params.qry_flag = 2;
        }
        if(this.datePicker.selectDate>this.control_date){
          params.qry_sum_month = this.control_date;
        }
        if(this.datePicker.selectDate<201909){
          params.qry_code = "1122";
        }
        this.$http.post('/api/newTower/assessmentIndex/qryProjectAssessmentDetailBehind', params).then(data => {
          this.topRankData.data=[];
          this.bottomRankData.data=[];
          let list = [];
          let temp;
          data.rows.forEach((item,index) => {
            if(this.kpiSelectData.selectId == 1120){
               temp = {rate:item.col4,text:item.col1,rank:item.rank,areaId:item.col0}
            }else if(this.kpiSelectData.selectId == 1121){
              temp = {rate:item.col3,text:item.col1,rank:item.rank,areaId:item.col0}
            }else {
              temp = {rate:item.col2,text:item.col1,rank:item.rank,areaId:item.col0}
            }
            list.push(temp);
          })
          if(this.kpiSelectData.selectId == 1007 || this.kpiSelectData.selectId == 1068){
            this.topRankData.maxValue=list[list.length-1].rate;
            this.bottomRankData.maxValue=list[list.length-1].rate;
          }else {
            this.topRankData.maxValue=list[0].rate;
            this.bottomRankData.maxValue=list[0].rate;
          }

          let numStrs = list.map(item => {
            item.rate = item.rate + ''
            return item.rate.length
          })
          this.topRankData.totalWidth = Math.max.apply('', numStrs);
          this.bottomRankData.totalWidth = Math.max.apply('', numStrs);
          let titleStrs = list.map(item => {
            return item.text.length
          })
          this.topRankData.titleWidth = (Math.max.apply('', titleStrs) + 1);
          this.bottomRankData.titleWidth = (Math.max.apply('', titleStrs) + 1);

          if(list.length>10){
            list.forEach((item,index) => {
              let temp = {name:item.text,value:item.rate,rank:item.rank,areaId:item.areaId};
              if(index<5){
                this.topRankData.data.push(temp);
              }
              if(list.length-index<=5){
                this.bottomRankData.data.push(temp);
              }
            })
          }else {
            list.forEach((item,index) => {
              let temp = {name:item.text,value:item.rate,rank:item.rank,areaId:item.areaId};
              this.topRankData.data.push(temp);
            });
            this.bottomRankData.data=[];
          }


          if(this.topRankData.data[0].rank==1){
            this.topRankData.rankNumLight='light';
          }
          if(this.bottomRankData.data.length==0){
            this.bottomRankData.show = false;
          }else {
            this.bottomRankData.show = true;
          }
        })


      },
      //获取所有排名
      getAllRankData2(){
        this.allRankData.data=[];
        let params = {
          qry_date_type: "2",
          qry_sum_month: this.datePicker.selectDate,
          qry_area_code: this.areaId,
          qry_area_level: 1,
          qry_code:this.kpiSelectData.selectId,  // qry_code: "1122"
          qry_flag:1,
        }
        if(this.kpiSelectData.selectId == 1120 || this.kpiSelectData.selectId == 1121){
          params.qry_code = 1094;
        }
        if(this.areaType==2){
          params.qry_area_code = (this.areaId+'').substr(0,2)+'0000';
        }
        if(this.areaType!=0){
          params.qry_area_level = 3;
        }
        if(this.kpiSelectData.selectId == 1094){
          params.qry_flag = 2;
        }
        if(this.datePicker.selectDate>this.control_date){
          params.qry_sum_month = this.control_date;
        }

        this.$http.post('/api/newTower/assessmentIndex/qryProjectAssessmentDetailBehind', params).then(data => {
          this.allRankData.data=[];
          let list = [];
          data.rows.forEach((item,index) => {
            if(this.kpiSelectData.selectId == 1120){
              let temp = {rate:item.col4,text:item.col1,rank:item.rank,areaId:item.col0}
              list.push(temp);
            }else if(this.kpiSelectData.selectId == 1121){
              let temp = {rate:item.col3,text:item.col1,rank:item.rank,areaId:item.col0}
              list.push(temp);
            }else {
              let temp = {rate:item.col2,text:item.col1,rank:item.rank,areaId:item.col0}
              list.push(temp);
            }
          })
          list.forEach(item => {
            let temp = {name:item.text,value:item.rate,rank:item.rank,areaId:item.areaId};
            this.allRankData.data.push(temp);
          })
        })
      },
      childClick(data){
        let if_flag = false;
        if(this.$store.state.userInfo.home_city=='100000'){
          if_flag = true;
        }else if(this.$store.state.userInfo.home_city.substr(-4) == '0000'){
          if(this.areaType == 2){
            if_flag = true;
          }
        }
        if(if_flag && this.tabActiveName == 'a'){
          let item = {id:data.areaId,text:data.name};
          if(item.id.substr(-4) == '0000'){
            if (this.areaInfo.selectId != item.id) {
              this.areaInfo.selectId = item.id
              this.areaId = item.id
              this.areaInfo.showArea = item.text
              this.cityInfo.columns = []
              this.cityInfo.showArea = '地市'
              if (this.role == 'province') {
                if (this.areaId != '100000') {
                  this.areaInfo.columns = []
                  this.getAreaInfo()
                } else {
                  this.cityInfo.columns = [{text: '地市', id: '0'}]
                }
              } else {
                this.getAreaInfo()
              }
              this.initPage()
            }
            this.areaInfo.show = false
          }else {
            if (this.cityInfo.selectId != item.id) {
              this.cityInfo.selectId = item.id
              this.cityInfo.showArea = item.text
              if (this.cityInfo.selectId != '' && this.cityInfo.selectId != 0) {
                this.areaId = item.id
              } else {
                this.areaId = this.areaInfo.selectId
              }
              this.initPage()
            }
            this.cityInfo.show = false
          }

        }
      }

    },
    created() {
      this.recordLogs();
      this.getMaxMinMonth().then(res => {
        if (res == 'ok') {
          this.getAreaInfo();
          // this.initPage();
        }
      })
    }
  }
</script>
<style lang="scss" scoped>
  /*/deep/ .van-sticky--fixed{
    z-index: 99999999;
  }*/
  .radar-title{
    text-align: center;

    &-left{
       font-size: 14px;
       font-weight: bold;
     }
    &-right{
       font-size: 19px;
       color: #d70d17;
       /*font-weight: bold;*/
     }
  }
  .case-title {
    padding-left: 22px;
    position: relative;

    &::before {
       content: "";
       position: absolute;
       width: 16px;
       height: 16px;
       background: url(~@/assets/images/comprehensiveScore/icon-tab.png);
       background-size: 100% 100%;
       left: 0;
       top: 50%;
       margin-top: -8px;
     }

    &__name {
       font-size: 16px;
     }
  }
  .case-title2 {
    padding-left: 22px;
    position: relative;

    &::before {
       content: "";
       position: absolute;
       width: 16px;
       height: 16px;
       background: url(~@/assets/images/comprehensiveScore/icon-tab2.png);
       background-size: 100% 100%;
       left: 0;
       top: 50%;
       margin-top: -8px;
     }

    &__name {
       font-size: 16px;
     }
  }
  .kpi-card {
    height: 60px;
    padding:0px 15px 18px 15px;
    border-radius: 7px;

    &--active{
       border: solid 1px #ff4b47;
     }

    &-main{
    padding-top: 10px;
    padding-bottom: 10px;
       /*-moz-box-shadow: 2px 2px 10px #909090;!*firefox*!*/
       /*-webkit-box-shadow: 2px 2px 10px #909090;!*safari或chrome*!*/
       /*box-shadow:2px 2px 10px #909090;!*opera或ie9*!*/
     }

    &-inner{
      border-top: solid 1px #e7e7e7;
      padding-left: 30px;
      padding-top: 10px;

      &--active{
         border-top: solid 0px #e7e7e7;
       }

      &-name {
        font-size: 14px;
       }
       &-val{
          display: inline-block;
        }
        &-val-1{
          font-size: 20px;
          font-weight: bold;
          &--active{
            color: #ff4b47;
           }
         }

     }
    &:nth-child(1) {
    .kpi-card-inner{
      border-top: solid 0px #f37777;
    }
    }

    &-inner2{
     padding-left:35px;
      &::before {
         content: "";
         position: absolute;
         width: 55px;
         height: 45px;
         background: url(~@/assets/images/comprehensiveScore/icon-chart-blue.png);
         background-size: 100% 100%;
         left: 25px;
         /*top: 50%;*/
         /*margin-top: -8px;*/
       }
       &--active{
          &::before {
             content: "";
             position: absolute;
             width: 55px;
             height: 45px;
             background: url(~@/assets/images/comprehensiveScore/icon-chart-red.png);
             background-size: 100% 100%;
             left: 25px;
             /*top: 50%;*/
             /*margin-top: -8px;*/
           }
        }
     }
  .trend {
    font-size: 14px;
    padding: 0 10px 10px 5px;
      &--asc2 {
         color: #D70D17;

      &::after {
         height: 0;
         width: 0;
         border-bottom: 5px solid #D70D17;
         border-left: 4px solid transparent;
         border-right: 4px solid transparent;
         vertical-align: 2px;
         display: inline-block;
         margin-top: 1px;
       }
      }

      &--desc2 {
         color: #0BBA61;

      &::after {
         height: 0;
         width: 0;
         border-top: 5px solid #0BBA61;
         border-left: 4px solid transparent;
         border-right: 4px solid transparent;
         vertical-align: 2px;
         display: inline-block;
         margin-top: 1px;
       }
      }
  }

  }
  .selects__item2{
    &::after{
       border-right: 1px solid #f37777;
       border-bottom: 1px solid #f37777;
     }
  }
</style>
